package com.briup.day04;

import java.util.Scanner;

/**
 * @author lining
 * @date 2024/1/11 9:08
 */
public class Test {

    public static void method(boolean flag){
        if(flag){//布尔值或者布尔表达式  true条件成立
            //条件成立，执行{}内容
            System.out.println("method");
        }
    }
    public static void method2(int num){
        System.out.println("method");
        if( num > 0 ){
            System.out.println("method2");
        }
    }

    public static boolean method3(int num){
        //判断是否大于0  输出值 boolean
        if(num > 10){
            return true;//大于0
            //结束当前方法执行
        }
        if(num == 0){
            System.out.println("等于0");
        }
        return false; //小于0
    }
    public static boolean method4(int num){
        if(num > 0){
            return true;
        }else { //当num <=0
            return false;
        }
        // if{}else{}   逻辑相互影响 判断次数减少
        // if{}  if{}   逻辑相互独立，不影响  卫语句
    }
    public static boolean method5(int num){
        if(num > 0){
            return true;
        }else if(num < 0){
            return false;
        }else if(num > 10){
            return true;
        }else {
            System.out.println("==0");
            return false;
        }
    }
    // num = 1
    public static void method7(int num){
        if(num > 0 ){
            ++num; // num = 2
        }else if(num > 1){//当条件1成立时，不会执行剩余条件
            ++num; //条件1不成立
        }else {
            ++num;  //当条件1 2 都不成立
        }
        System.out.println(num);//2 2
    }
    // byte short int char String
    public static void method8(int a){
        switch (a){
            case 1:
                System.out.println("a=1");
                break;//结束当前分支逻辑判断
            case 2:
                System.out.println("a=2");
                break;
            default:
                System.out.println("a输入错误");
                break;
        }
    }
    //byte short int
    public static void method9(){
        //从键盘中输入
        System.out.println("请输入等级：");
        Scanner sc = new Scanner(System.in);
        String msg = sc.next();
        //表示等级对于的成绩信息
        String result = null;
        switch (msg){
            case "A": // msg 等于 "A"
                result = "成绩优秀";
                break;
            case "B":
                result = "成绩中等";
                break;
            case "C":
                result = "成绩及格";
                break;
            default:
                result = "输出等级错误";
                break;
        }
        System.out.println(result);
    }
    /*
        可以不断进行等级输入和判断
        if
        while  (循环次数不确定情况)
     */
    public static void method10(){
        while (true){ //条件一直成立，不断执行循环体代码
            method9();//读取一个字母，返回对于成绩信息
        }
    }
    public static void method11(){
        //创建一个扫描对象，调用方法
        Scanner sc = new Scanner(System.in);
        //表示等级对于的成绩信息
        String result = null;
        while (true){
            System.out.println("请输入等级：");
            //每执行一次next,表示读取一次键盘输入
            String msg = sc.next();

            if(msg.equals("exit")){//判断字符串内容是否相同
                break;//终止循环
            }


            switch (msg){
                case "A": // msg 等于 "A"
                    result = "成绩优秀";
                    break;
                case "B":
                    result = "成绩中等";
                    break;
                case "C":
                    result = "成绩及格";
                    break;
                default:
                    result = "输出等级错误";
                    break;
            }
            System.out.println(result);
        }
    }
    // 任意for while 相互转换
    public static void method12(){
        // 一直循环
        for(;;){
            System.out.println("hello world");
        }
    }
    //for
    public static void method13(){
        //3部分 定义变量 提供循环判断条件（有限次） 操作变量控制执行次数
        for (int i = 0;i < 5;i++){
            System.out.println(i);
        }
        /*
        *  int i = 0; i < 5 满足条件进行循环体执行  sout(0) i++
        *  i = 1 i<5  sout(1) i++
        *  i = 2 i<5 sout(2)
        *  ....               i++
        *  i = 5 i<5 条件不成立 结束循环
        *
        *
        *
        * */
    }
    
    public static void method14(){
        //j范围{}
        int sum = 0;
        for (int j = 1; j <= 5; j++) {
            sum += j;
            System.out.println(j);//循环次数 1 2 3 4 5
        }
        System.out.println("j的和："+sum);
    }
    public static void method14(int a){
        //j范围{}

        /*
          j=5  j <=5 sout(5) j++
          j=6  j<=5 不成立 循环结束  sout(6)

         */
        int j = 1;
        for (;j <= a ; ) {
            System.out.println(j);//循环次数 1 2 3 4 5
            j++;
        }
        System.out.println("j="+j);
    }
    public static void method(int num,int max){
        for(;num < max;num += 2){//每次加1
            System.out.println(num);
        }
    }
    public static void method17(){
        // 有限次循环
        //变量先定义 再赋值 后使用
        int i = 0;//变量的初始化0
        while (i < 5) {
            System.out.println(i);
            i++;
        }

    }
    //求1-100之间的奇数和，并输出求和结果
    public static void sum(){
        int sum = 0;
        /*
            ....sum = 1+3+5+7....
            sum = sum+奇数
         */
        int num = 1;
        while (num < 100){
            sum += num; // 0+1+3+99
            num += 2;
        }
        System.out.println("1-100之间的奇数和:" + sum);
    }
    //求1-100之间的奇数和，并输出求和结果
    public static void sum2(){
        //1-100
        int sum = 0;
        int i = 1;
        while( i <= 100){
           if(i % 2 == 1){
               sum += i;
           }
           i++; //1 2 3 4 5 6
        }
        System.out.println(sum);
    }


    public static void main(String[] args) {
        //调用方法，提供实参
//        method(0,5);
        sum();
        sum2();

    }
}
